Instance Variable คือ ตัวแปรชนิดหนึ่งที่คงอยู่ และทำงานในระดับของ Class กระบวนการทำงานนั้นจะเกิดพร้อมกับการทำงานของ Class เรามาดูข้อกำหนด, ตัวอย่างโปรแกรม และผลลัพธ์ของ Instance Variable กันครับ
ภาพรวมของ Instance Variable
1. Instance Variable จะถูกประกาศภายใน Class เ่ท่านั้น ไม่อยู่นอก method, constructor หรือ block
2. เมื่อมีการจองพื้นที่ของ Object ใน heap (ไม่กล่าวถึง heap ในบทความนี้ครับ) Instance Variable ก็จะถูกสร้างขึ้น
3. Instance Variable จะถูกสร้างขึ้นพร้อมกับ Object ด้วยคำสั่ง new และถูกทำลายทิ้งเมื่อ Object ถูกทำลายลง
4. Instance Variable จะเก็บค่าเพื่อนำมาใช้ในการทำงานของ method, constructor หรือ block
5. Instance Variable สามารถที่จะประกาศก่อน หรือหลัง method main ก็ได้
6. Instance Variable สามารถใช้งานรวมกับกลไกของ Access modifiers ได้
7. Instance Variable เป็นตัวแปรของทุก ๆ method, constructor หรือ block ภายใน Class
8. Instance Variable มี Default Value (ค่าเริ่มต้น) เช่น number จะเริ่มต้นมีค่าเท่ากับ 0 และ boolean มีค่าเริ่มต้นคือ false
9. Instance Variable สามารถเข้าถึงได้โดยตรงจากการเรียกใช้งานภายใน Class หรือเรียกภายนอก Class ผ่านทาง Interface Public Method
ตัวอย่างโปรแกรม
public class InstanceVariable {
public int a;
private int b;
public void getNumber() {
System.out.println( "a + b = " + (a + b) );
}
public void setNumber(int a2, int b2) {
a = a2;
b = b2;
}
public static void main(String args[]){
InstanceVariable instance = new InstanceVariable();
instance.setNumber(10, 30);
instance.getNumber();
}
}
ผลลัพธ์
อธิบายโปรแกรม
1. ตัวแปร a และ b ในบรรทัดที่ 2 และ 3 เป็นตัวแปรชนิด Instance Variable
2. ตัวแปรทั้ง 2 จะถูกประกาศ และทำงานพร้อมกับการ new class เพื่อสร้าง object
3. ตัวแปรทั้ง 2 จะถูกเรียกใช้งานจาก method, constructor หรือ block ภายใน Class